#include <concepts>
#include <iostream>
using namespace std;
// 1.concept定义一个带有类型限制的新类型
template <typename T>
concept Integral = std::is_integral_v<T>;

// 2、使用requires进行类型检查
template <typename T>
    requires Integral<T>
T add(T a, T b)
{
    return a + b;
}
int main()
{
    cout << add(1, 2) << endl;
    // 类型不符报错
    // cout << add("2", "2") << endl;
    return 0;
}